#include <iostream>
#include <cstring>

using namespace std;

/**
 * 1. 需要根据特征判断一下需要使用什么数据类型
 * 2. 赋值需要根据不同的数据类型进行赋值
 */
struct Person
{
    string name;                // 名字，字符串，char name[], string name
    unsigned short age;         // 年龄，整型：unsigned short 
    unsigned short height;      // 身高，单位（cm），unsigned shrt
    float weight;               // 体重，单位（Kg），float
    string sex;                 // 性别，字符串
    char color[16];             // 
};

int main()
{
    Person per;
    per.name = "lanqiao";
    per.age = 18;
    per.height = 180;
    per.weight = 60.0;
    per.sex = "male";
    // 给数组清零，连续 16 个字节空间清零
    memset(per.color, 0, 16);
    // 字符数组赋值
    memcpy(per.color, "red", 3);
    // 错误：不能直接使用等号的方式赋值
    // per.color = "yello";

    cout << "name = " << per.name << ", age = " << per.age << ", height = " << per.height << endl;

    return 0;
}